#pragma once
#include <inttypes.h>

#pragma pack(1)
/*
 * 网络中传输的UDP包结构
 */
struct qut_pack
{
	/* 包的头部结构 */
	uint8_t		version;		// 版本号，目前为2
	uint8_t		service;		// 操作类型, 0 请求URL类型，1服务器返回， 2下发更新
	uint16_t	des_size;		// 数据区大小
	/* 联合体表示上行或下发数据 */
	union
	{
		/* 服务器返回的相关信息 */
		struct 
		{
			uint32_t	time;	// 有效时间UTC时制
			uint8_t		url_tp1;// URL第一种类型
			uint8_t		url_tp2;// URL第二种类型
			uint8_t		url_tp3;// URL第三种类型
			uint8_t		rating; // URL等级
		} res;
		/* 请求时发送到服务器的授权 */
		uint64_t lcn; 
	} head;
	/* 数据区 */
	uint8_t		url_size;		// URL的大小
	char		url[0];			// 指向一个数据结构
};

typedef struct qut_pack	qut_pack_t;

#pragma pack()



